#ifndef CCAMERA_H
#define CCAMERA_H

#include "cpoint3f.h"
#include "QtOpenGL"

class CCamera
{
public:
    CCamera();

    void        VectorsFromAngles();

    void        look();

    float       getRatio();

    void        normalizeVectors();

    CPoint3f	m_Position;         // absolute position of the camera
    CVector3f	m_Direction;        // view direction / local z axis
    CVector3f	m_Side;             // local x axis
    CVector3f	m_Up;               // local y axis
    CPoint3f	m_Target;           // absolute position of the target

    double      m_fSpeed;
    double      m_fSensitivity;

    double      m_fTheta;           // local vertical angle for rotation
    double      m_fPhi;             // local horizontal angle for rotation

    unsigned    m_uWindow_height;
    unsigned    m_uWindow_width;

    float       m_fFovy;
};

#endif // CCAMERA_H
